package com.xmj.ms.domain;

import com.xmj.common.annotation.Excel;
import com.xmj.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 库存管理对象 BarberShopGoods
 *
 * @author ohh
 * @date 2024-04-17
 */
public class BarberShopGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 物品ID，主键，自增长 */
    private Long goodsId;

    /** 物品类别ID，非空，用于关联物品分类表（本示例中未包含外键） */
    @Excel(name = "物品类别ID，非空，用于关联物品分类表", readConverterExp = "本=示例中未包含外键")
    private Long categoryId;

    /** 物品名称，非空 */
    @Excel(name = "物品名称，非空")
    private String name;

    /** 物品规格，可为空，描述货物的具体规格信息 */
    @Excel(name = "物品规格，可为空，描述货物的具体规格信息")
    private String spec;

    /** 物品单位，非空，表示货物的计量单位 */
    @Excel(name = "物品单位，非空，表示货物的计量单位")
    private String unit;

    /** 供应商ID，可为空，用于关联供应商表（本示例中未包含外键） */
    @Excel(name = "供应商ID，可为空，用于关联供应商表", readConverterExp = "本=示例中未包含外键")
    private Long supplierId;

    /** 采购价格，非空，表示购买该货物的成本价格 */
    @Excel(name = "采购价格，非空，表示购买该货物的成本价格")
    private BigDecimal purchasePrice;

    /** 零售价格，非空，表示向顾客出售该货物的标价 */
    @Excel(name = "零售价格，非空，表示向顾客出售该货物的标价")
    private BigDecimal retailPrice;

    /** 库存预警阈值，表示当库存量低于此值时触发预警 */
    @Excel(name = "库存预警阈值，表示当库存量低于此值时触发预警")
    private Long warningThreshold;

    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }
    public void setCategoryId(Long categoryId)
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setSpec(String spec)
    {
        this.spec = spec;
    }

    public String getSpec()
    {
        return spec;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setSupplierId(Long supplierId)
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId()
    {
        return supplierId;
    }
    public void setPurchasePrice(BigDecimal purchasePrice)
    {
        this.purchasePrice = purchasePrice;
    }

    public BigDecimal getPurchasePrice()
    {
        return purchasePrice;
    }
    public void setRetailPrice(BigDecimal retailPrice)
    {
        this.retailPrice = retailPrice;
    }

    public BigDecimal getRetailPrice()
    {
        return retailPrice;
    }
    public void setWarningThreshold(Long warningThreshold)
    {
        this.warningThreshold = warningThreshold;
    }

    public Long getWarningThreshold()
    {
        return warningThreshold;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("goodsId", getGoodsId())
            .append("categoryId", getCategoryId())
            .append("name", getName())
            .append("spec", getSpec())
            .append("unit", getUnit())
            .append("supplierId", getSupplierId())
            .append("purchasePrice", getPurchasePrice())
            .append("retailPrice", getRetailPrice())
            .append("warningThreshold", getWarningThreshold())
            .toString();
    }
}
